import {use} from "../models/Use"
import router from '@ohos.router'
const USER_KEY = "smart-home-user";

// 不需要用户登录的页面
const nologin_path = ["pages/LogPage","pages/index"]
// Auth.initUser
// Auth.setUser
// Auth.getUser
// Auth.delUser
export  class  Auth{
  // 初始化
  static  initUser() {
    // AppStorage.Set(USER_KEY,'{}')
    PersistentStorage.PersistProp(USER_KEY, '{}')
  }
  // 设置用户
  static setUser(user:use){
    AppStorage.Set(USER_KEY,JSON.stringify(user))
  }
  // 获取用户
  static getUser():use{
    var s = AppStorage.Get(USER_KEY) || '{}'
    // as 断言 {id:123,name}
    var t = JSON.parse(s as string);
    return new use(t.wname,t.psd,t.phone,t.token);
    // return JSON.parse(s as string);
  }

  // 删除用户
  static delUser(){
    AppStorage.Delete(USER_KEY)
  }
  // 跳转页面: 需要登录的页面，要判断有没有存储用户的信息
  // 如果没有用户信息 那么跳转登录页面 {url:"",}
  static pushUrl(options: {url:string}){
    let u = Auth.getUser();
    // 需要登录 但是 没有用户token
    if(nologin_path.indexOf(options.url) ==-1 && !u.token){
      return router.pushUrl({url:"pages/Index"})
    }
    return router.pushUrl({url:options.url})
  }

}